import os
os.environ['DJANGO_SETTINGS_MODULE'] = 'settings'

from google.appengine.dist import use_library
use_library('django', '1.2')

from google.appengine.ext.webapp import template


from google.appengine.ext import webapp
from google.appengine.ext.webapp.util import run_wsgi_app


import random

class MainHandler(webapp.RequestHandler):
  def get(self):
    template_values = {}
    path = os.path.join(os.path.dirname(__file__), 'hello.html')
    self.response.out.write(template.render(path, template_values))
      

class DiceHandler(webapp.RequestHandler):
  def get(self):
    times = self.request.get('times')
    self.response.out.write('Hello<br>')
    for i in range(int(times)):

        # Simulate rolling two dice.   
        dice_1 = random.randint(1, 6)
        dice_2 = random.randint(1, 6)
        self.response.out.write("Rolls:" + str(dice_1) + str(dice_2) + "<br>")

class QuizHandler(webapp.RequestHandler):
  def get(self):
    template_values = {'name' : self.request.get('name') }
    path = os.path.join(os.path.dirname(__file__), 'quiz.html')
    self.response.out.write(template.render(path, template_values))
def main():
   application = webapp.WSGIApplication([('/hello.*', HelloHandler),
                                        ('/quiz', QuizHandler),])

class WrongAnswer:
  def __init__(self, question, guess, correct):
    self.question = question
    self.guess = guess
    self.correct = correct

class GradeQuizHandler(webapp.RequestHandler):
  def get(self):  
    addition_guess = self.request.get('addition')
    template_values = {'wrong_answers': [], 'name' : self.request.get('name')}   

    if addition_guess != 7:    
      template_values['wrong_answers'].append(WrongAnswer("3 + 4", addition_guess, 7))  
  def get(self):
    capital_guess = self.request.get('capital')
    template_values = {'wrong_answers': []}

    if capital_guess != 'Sacramento':    
      template_values['wrong_answers'].append(WrongAnswer("What is the capital of California?", capital_guess, 'Sacramento'))  

    path = os.path.join(os.path.dirname(__file__), 'grade_quiz.html')
    self.response.out.write(template.render(path, template_values))

def main():
  application = webapp.WSGIApplication(
      [('/hello.*', HelloHandler),
       ('/quiz', QuizHandler),
       ('/grade_quiz', GradeQuizHandler),])


class GoodbyeHandler(webapp.RequestHandler):
  def get(self):
    self.response.out.write('Goodbye app engine world!')

def main():
  application = webapp.WSGIApplication([('/hello.*', MainHandler),
				      ('/quiz.*', QuizHandler),
				      ('/grade_quiz.*', GradeQuizHandler),
				      ('/dice.*', DiceHandler),
				      ('/goodbye.*', GoodbyeHandler),],
                                     debug=True)
  run_wsgi_app(application)

if __name__ == '__main__':
  main()
